package thread;

/**
 * 多线程用于并发执行多个任务
 * 多线程的创建方式有两个：
 * 1：继承Thread并重写run方法
 *
 */



public class ThreadDemo1 {
    public static void main(String[] args) {
        Thread t1 = new MyThread1();
        Thread t2 = new MyThread2();


        /*
            注意...



         */






        t1.start();
        t2.start();


//        for(int i=0;i<1000;i++){
//            System.out.println();
//        }
    }
}

/**
 * 第一种创建线程的方式优点是结构简单，适合使用匿名内部类形式创建。
 * 缺点：
 * 1：由于java是单继承的，这导致如果继承了Thread就无法再继承其他类了，实际开发中
 *    很不方便。
 * 2：定义线程的同时重写了run方法将线程的任务定义在了线程中，导致线程与任务存在一个
 *    必然的耦合关系，不利于线程的重用。
 *
 */




class MyThread1 extends Thread{
    public void run(){
        for(int i=0;i<1000;i++){
            System.out.println("你是谁啊？");
        }
    }
}

class MyThread2 extends Thread{
    public void run(){
        for(int i=0;i<1000;i++){
            System.out.println("我是查水表的！");
        }
    }
}